package com.lechuang.member.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
@Accessors(chain = true)
@Schema(description = "会员列表返回实体")
public class MemberListVo implements Serializable {

    /**
     * 主键id
     */
    @Schema(description = "主键id")
    private Long id;

    /**
     * 会员编号
     */
    @Schema(description = "会员编号")
    private String viewId;

    /**
     * 用户id
     */
    @Schema(description = "用户id")
    private Long userId;

    /**
     * 会员姓名
     */
    @Schema(description = "会员姓名")
    private String nickName;

    /**
     * 会员手机号
     */
    @Schema(description = "会员手机号")
    private String phone;

    /**
     * 用户身份证号
     */
    @Schema(description = "用户身份证号")
    private String identityNo;

    /**
     * 会员等级id
     */
    @Schema(description = "会员等级id")
    private Long memberLevelId;

    /**
     * 会员等级名称
     */
    @Schema(description = "会员等级名称")
    private String memberLevelName;


    /**
     * 团购级别id
     */
    @Schema(description = "团购级别id")
    private Long groupBuyLevelId;

    /**
     * 团购级别名称
     */
    @Schema(description = "团购级别名称")
    private String groupBuyLevelName;

    /**
     * 星级id
     */
    @Schema(description = "星级id")
    private Long memberStartLevelId;

    /**
     * 星级名称
     */
    @Schema(description = "星级名称")
    private String memberStartLevelName;


    /**
     * 是否代理：1不代理 2代理
     */
    @Schema(description = "是否代理：1不代理 2代理")
    private Integer agentFlag;

    /**
     * 是否可以提现：1可提现 2不可提现
     */
    @Schema(description = "是否可以提现：1可提现 2不可提现")
    private Integer withdrawFlag;

    /**
     * 是否可以余额互转：1可互转 2不可互转
     */
    @Schema(description = "是否可以余额互转：1可互转 2不可互转")
    private Integer balanceTransferFlag;

    /**
     * 邀请人用户id
     */
    @Schema(description = "邀请人用户id")
    private Long inviteUserId;

    /**
     * 邀请人用户id
     */
    @Schema(description = "邀请人用户信息")
    private String inviteUserValue;


    /**
     * 积分数
     */
    @Schema(description = "积分数")
    private Integer integerNum;

    /**
     * 是否享受350权益：1不享受 2享受
     */
    @Schema(description = "是否享受350权益：1不享受 2享受")
    private Integer tfzEquityFlag;

    /**
     * 是否享受450权益：1不享受 2享受
     */
    @Schema(description = "是否享受450权益：1不享受 2享受")
    private Integer ffzEquityFlag;

    /**
     * 认证状态：1未提交认证 2认证中 3认证成功 4 认证未通过
     */
    @Schema(description = "认证状态：1未提交认证 2认证中 3认证成功 4 认证未通过")
    private Integer authStatus;

    /**
     * 余额
     */
    @Schema(description = "余额")
    private Integer totalAmount;

    /**
     * 会员状态：1正常 2停用
     */
    @Schema(description = "会员状态：1正常 2停用")
    private Integer activeStatus;


    /**
     * 周购奖
     */
    @Schema(description = " 周购奖")
    private BigDecimal weekBuyPrize;

    /**
     * 自购报单区单数
     */
    @Schema(description = "自购报单区单数")
    private Integer selfAreaBuyNum;

    /**
     *  代理奖
     */
    @Schema(description = "代理奖")
    private BigDecimal agentPrize;

    /**
     *  代理奖
     */
    @Schema(description = "管理奖")
    private BigDecimal managePrize;

    /**
     * 分享奖
     */
    @Schema(description = "分享奖")
    private BigDecimal sharePrize;

    /**
     * 自购奖
     */
    @Schema(description = "自购奖")
    private BigDecimal selfBuyPrize;

    /**
     * 服务奖
     */
    @Schema(description = "服务奖")
    private BigDecimal servicePrize;

    /**
     * 推荐有效用户个数
     */
    @Schema(description = "推荐有效用户个数")
    private Integer effectUserNum;

    /**
     * 平移前业绩
     */
    @Schema(description = "平移前业绩")
    private BigDecimal preTransferPrize;

}
